NexusPi Git Node
extra_script.py HEAD (592c826d) Text, 13.36 KB
Tff7b72import T7ee787time
Tff7b72import T7ee787hashlib
Tff7b72import T7ee787shutil
Tff7b72import T7ee787platform Tff7b72as T7ee787platformlib
Tff7b72from T7ee787firmware_image Tff7b72import Te6edf3esp_image_sha256Tb4b4b4, Te6edf3firmware_hash_kiss_frame
T8b949e#
T8b949e# Helpier functions
T8b949e#
Tff7b72def Td2a8ffget_targetTb4b4b4(Tb4b4b4)Tb4b4b4:
T8b949e# Detect the operating system
Te6edf3platform_system Tff7b72= Te6edf3platformlibTff7b72.Td2a8ffsystemTb4b4b4(Tb4b4b4)Tff7b72.Td2a8fflowerTb4b4b4(Tb4b4b4)
T8b949e#print("System:", platform_system)
Tff7b72if Ta5d6ff"Ta5d6fflinuxTa5d6ff" Tff7b72in Te6edf3platform_systemTb4b4b4:
Te6edf3os_name Tff7b72= Ta5d6ff"Ta5d6fflinuxTa5d6ff"
Tff7b72elif Ta5d6ff"Ta5d6ffdarwinTa5d6ff" Tff7b72in Te6edf3platform_systemTb4b4b4:
Te6edf3os_name Tff7b72= Ta5d6ff"Ta5d6ffdarwinTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3os_name Tff7b72= Ta5d6ff"Ta5d6ffunknownTa5d6ff"
T8b949e# Get OS release details
Tff7b72tryTb4b4b4:
Te6edf3platform_os_info Tff7b72= Te6edf3platformlibTff7b72.Td2a8fffreedesktop_os_releaseTb4b4b4(Tb4b4b4)
T8b949e#print("OS Release:", platform_os_info)
Tff7b72if Te6edf3platform_os_infoTff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff'Ta5d6ffVERSION_CODENAMETa5d6ff'Tb4b4b4)Tb4b4b4:
Te6edf3distro_name Tff7b72= Te6edf3platform_os_infoTff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff'Ta5d6ffIDTa5d6ff'Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff-Ta5d6ff" Tff7b72+ Te6edf3platform_os_infoTff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff'Ta5d6ffVERSION_CODENAMETa5d6ff'Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3distro_name Tff7b72= Te6edf3platform_os_infoTff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff'Ta5d6ffIDTa5d6ff'Tb4b4b4)
Te6edf3os_name Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff-Ta5d6ff" Tff7b72+ Te6edf3distro_name
Tff7b72except Tf85149ExceptionTb4b4b4:
Tff7b72pass
T8b949e# Detect the architecture
Te6edf3platform_machine Tff7b72= Te6edf3platformlibTff7b72.Td2a8ffmachineTb4b4b4(Tb4b4b4)Tff7b72.Td2a8fflowerTb4b4b4(Tb4b4b4)
T8b949e#print("Machine:", platform_machine)
Tff7b72if Te6edf3platform_machine Tff7b72== Ta5d6ff"Ta5d6ffx86_64Ta5d6ff"Tb4b4b4:
Te6edf3arch_name Tff7b72= Ta5d6ff"Ta5d6ffamd64Ta5d6ff"
Tff7b72elif Ta5d6ff"Ta5d6ffaarchTa5d6ff" Tff7b72in Te6edf3platform_machine Tff7b72or Ta5d6ff"Ta5d6ffarm64Ta5d6ff" Tff7b72in Te6edf3platform_machineTb4b4b4:
Te6edf3arch_name Tff7b72= Ta5d6ff"Ta5d6ffarm64Ta5d6ff"
Tff7b72elif Ta5d6ff"Ta5d6ffarmTa5d6ff" Tff7b72in Te6edf3platform_machineTb4b4b4:
Te6edf3arch_name Tff7b72= Ta5d6ff"Ta5d6ffarmhfTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3arch_name Tff7b72= Ta5d6ff"Ta5d6ffunknownTa5d6ff"
Tff7b72return Te6edf3os_name Tff7b72+ Ta5d6ff"Ta5d6ff-Ta5d6ff" Tff7b72+ Te6edf3arch_name
T8b949e#
T8b949e# Custom targets
T8b949e#
Tff7b72def Td2a8fftarget_packageTb4b4b4(Te6edf3targetTb4b4b4, Te6edf3sourceTb4b4b4, Te6edf3envTb4b4b4)Tb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff*** Executing target_package steps...Ta5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffPlatform:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffBoard:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffboardTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffVariant:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffcustom_variantTa5d6ff"Tb4b4b4)Tb4b4b4)
T8b949e#if env.GetProjectOption("custom_variant").endswith('_local'):
T8b949e# print("*** Skipping target_package for local build")
T8b949e# return
T8b949e# do some actions
Te6edf3platform Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)
Te6edf3board Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffboardTa5d6ff"Tb4b4b4)
Te6edf3firmware_packageTb4b4b4(Te6edf3envTb4b4b4)
T8b949e#
T8b949e# Upload actions
T8b949e#
Tff7b72def Td2a8ffpre_uploadTb4b4b4(Te6edf3sourceTb4b4b4, Te6edf3targetTb4b4b4, Te6edf3envTb4b4b4)Tb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff*** Executing pre_upload steps...Ta5d6ff"Tb4b4b4)
T8b949e# do some actions
Tff7b72def Td2a8ffpost_uploadTb4b4b4(Te6edf3sourceTb4b4b4, Te6edf3targetTb4b4b4, Te6edf3envTb4b4b4)Tb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff*** Executing post_upload steps...Ta5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffPlatform:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffBoard:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffboardTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffVariant:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffcustom_variantTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffSerial port:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
T8b949e# do some actions
Te6edf3platform Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)
Te6edf3board Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffboardTa5d6ff"Tb4b4b4)
Tff7b72if Tb4b4b4(Ta5d6ff"Ta5d6ffespressif32Ta5d6ff" Tff7b72in Te6edf3platformTb4b4b4)Tb4b4b4:
Te6edf3timeTff7b72.Td2a8ffsleepTb4b4b4(T79c0ff10Tb4b4b4)
T8b949e# device provisioning is incomplete and only currently appropriate for 915MHz T-Beam
T8b949e#device_wipe(env)
Te6edf3device_provisionTb4b4b4(Te6edf3envTb4b4b4)
Te6edf3firmware_hashTb4b4b4(Te6edf3sourceTb4b4b4, Te6edf3envTb4b4b4)
T8b949e# firmware pacakaging is incomplete due to missing console image
T8b949e#firmware_package(env)
Tff7b72elif Tb4b4b4(Ta5d6ff"Ta5d6ffnordicnrf52Ta5d6ff" Tff7b72in Te6edf3platformTb4b4b4)Tb4b4b4:
Te6edf3timeTff7b72.Td2a8ffsleepTb4b4b4(T79c0ff10Tb4b4b4)
T8b949e# device provisioning is incomplete and only currently appropriate for 915MHz RAK4631
T8b949e#device_wipe(env)
Te6edf3device_provisionTb4b4b4(Te6edf3envTb4b4b4)
Te6edf3timeTff7b72.Td2a8ffsleepTb4b4b4(T79c0ff5Tb4b4b4)
Te6edf3firmware_hashTb4b4b4(Te6edf3sourceTb4b4b4, Te6edf3envTb4b4b4)
T8b949e# firmware pacakaging is incomplete due to missing console image
T8b949e#firmware_package(env)
Tff7b72def Td2a8ffpre_cleanTb4b4b4(Te6edf3envTb4b4b4)Tb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff*** Executing pre_clean steps...Ta5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffPlatform:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffBoard:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffboardTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffVariant:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffcustom_variantTa5d6ff"Tb4b4b4)Tb4b4b4)
Te6edf3project_dir Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROJECT_DIRTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffproject_dir:Ta5d6ff"Tb4b4b4, Te6edf3project_dirTb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrm -f Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.zipTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrm -f Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Debug/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.elfTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrm -f Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Debug/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.mapTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrm -f Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff_debug.zipTa5d6ff"Tb4b4b4)
Tff7b72def Td2a8fffull_cleanTb4b4b4(Te6edf3envTb4b4b4)Tb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff*** Executing full_clean steps...Ta5d6ff"Tb4b4b4)
Te6edf3project_dir Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROJECT_DIRTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffproject_dir:Ta5d6ff"Tb4b4b4, Te6edf3project_dirTb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrm -f Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/release.jsonTa5d6ff"Tb4b4b4)
Tff7b72def Td2a8ffdevice_wipeTb4b4b4(Te6edf3envTb4b4b4)Tb4b4b4:
T8b949e# Device wipe
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff--- Wiping Device ---Ta5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --eeprom-wipe Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72def Td2a8ffdevice_set_firmware_hashTb4b4b4(Te6edf3firmware_hashTb4b4b4, Te6edf3envTb4b4b4)Tb4b4b4:
Tff7b72import T7ee787serial
Te6edf3port_path Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)
Te6edf3frame Tff7b72= Te6edf3firmware_hash_kiss_frameTb4b4b4(Te6edf3firmware_hashTb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffWriting firmware hash directly over KISS for unsupported rnodeconf model...Ta5d6ff"Tb4b4b4)
Tff7b72with Te6edf3serialTff7b72.Td2a8ffSerialTb4b4b4(Te6edf3port_pathTb4b4b4, T79c0ff115200Tb4b4b4, Te6edf3timeoutTff7b72=T79c0ff0.1Tb4b4b4) Tff7b72as Te6edf3portTb4b4b4:
T8b949e# Opening native USB resets the Tracker V2. Drain startup output and
T8b949e# wait until setup() has reached the serial command loop.
Te6edf3ready_at Tff7b72= Te6edf3timeTff7b72.Td2a8ffmonotonicTb4b4b4(Tb4b4b4) Tff7b72+ T79c0ff4.0
Tff7b72while Te6edf3timeTff7b72.Td2a8ffmonotonicTb4b4b4(Tb4b4b4) Tff7b72< Te6edf3ready_atTb4b4b4:
Te6edf3portTff7b72.Td2a8ffreadTb4b4b4(T79c0ff4096Tb4b4b4)
Te6edf3portTff7b72.Td2a8ffwriteTb4b4b4(Te6edf3frameTb4b4b4)
Te6edf3portTff7b72.Td2a8ffflushTb4b4b4(Tb4b4b4)
Te6edf3timeTff7b72.Td2a8ffsleepTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72def Td2a8ffdevice_provisionTb4b4b4(Te6edf3envTb4b4b4)Tb4b4b4:
T8b949e# Device provision
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff--- Provisioning Device ---Ta5d6ff"Tb4b4b4)
Te6edf3platform Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffPlatform:Ta5d6ff"Tb4b4b4, Te6edf3platformTb4b4b4)
Te6edf3board Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffboardTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffBoard:Ta5d6ff"Tb4b4b4, Te6edf3boardTb4b4b4)
Te6edf3variant Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffcustom_variantTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffVariant:Ta5d6ff"Tb4b4b4, Te6edf3variantTb4b4b4)
Tff7b72match Te6edf3variantTb4b4b4:
Tff7b72case Ta5d6ff"Ta5d6fftbeamTa5d6ff" Tff7b72| Ta5d6ff"Ta5d6fftbeam_localTa5d6ff"Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --product e0 --model e9 --hwrev 1 --rom Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72case Ta5d6ff"Ta5d6fflora32v21Ta5d6ff" Tff7b72| Ta5d6ff"Ta5d6fflora32v21_localTa5d6ff"Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --product b1 --model b9 --hwrev 1 --rom Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72case Ta5d6ff"Ta5d6ffheltec32v4paTa5d6ff" Tff7b72| Ta5d6ff"Ta5d6ffheltec32v4pa_localTa5d6ff"Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --product c3 --model c8 --hwrev 1 --rom Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72case Ta5d6ff"Ta5d6ffheltec_tracker_v2Ta5d6ff" Tff7b72| Ta5d6ff"Ta5d6ffheltec_tracker_v2_localTa5d6ff"Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --product c4 --model cb --hwrev 1 --rom Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72case Ta5d6ff"Ta5d6ffrak4631Ta5d6ff" Tff7b72| Ta5d6ff"Ta5d6ffrak4631_localTa5d6ff"Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --product 10 --model 12 --hwrev 1 --rom Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72case Ta5d6ff"Ta5d6ffrak3401Ta5d6ff" Tff7b72| Ta5d6ff"Ta5d6ffrak3401_localTa5d6ff"Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --product 10 --model 14 --hwrev 1 --rom Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72case Ta5d6ff"Ta5d6fftechoTa5d6ff" Tff7b72| Ta5d6ff"Ta5d6fftecho_localTa5d6ff"Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --product 15 --model 17 --hwrev 1 --rom Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72case Ta5d6ff"Ta5d6ffheltec_t114Ta5d6ff" Tff7b72| Ta5d6ff"Ta5d6ffheltec_t114_localTa5d6ff"Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --product c2 --model c7 --hwrev 1 --rom Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72case Tff7b72_Tb4b4b4:
Tffa657printTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ffUnknown board variant Tffd700{Te6edf3variantTffd700}Ta5d6ff, can not provision device!Ta5d6ff"Tb4b4b4)
Tff7b72def Td2a8fffirmware_hashTb4b4b4(Te6edf3sourceTb4b4b4, Te6edf3envTb4b4b4)Tb4b4b4:
T8b949e# Firmware hash
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff--- Updating Firmware Hash ---Ta5d6ff"Tb4b4b4)
Te6edf3source_file Tff7b72= Te6edf3sourceTb4b4b4[T79c0ff0Tb4b4b4]Tff7b72.Td2a8ffget_abspathTb4b4b4(Tb4b4b4)
Te6edf3platform Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffPlatform:Ta5d6ff"Tb4b4b4, Te6edf3platformTb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3platform Tff7b72== Ta5d6ff"Ta5d6ffnordicnrf52Ta5d6ff"Tb4b4b4)Tb4b4b4:
Te6edf3build_dir Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$BUILD_DIRTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffcd Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff; unzip -o Ta5d6ff" Tff7b72+ Te6edf3source_file Tff7b72+ Ta5d6ff"Ta5d6ff Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.binTa5d6ff"Tb4b4b4)
T8b949e#source_file.replace(".zip", ".bin")
Te6edf3source_file Tff7b72= Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.binTa5d6ff"Tb4b4b4;
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffsource_file:Ta5d6ff"Tb4b4b4, Te6edf3source_fileTb4b4b4)
Te6edf3firmware_data Tff7b72= Tffa657openTb4b4b4(Te6edf3source_fileTb4b4b4, Ta5d6ff"Ta5d6ffrbTa5d6ff"Tb4b4b4)Tff7b72.Td2a8ffreadTb4b4b4(Tb4b4b4)
Te6edf3calc_hash Tff7b72= Te6edf3hashlibTff7b72.Td2a8ffsha256Tb4b4b4(Te6edf3firmware_dataTb4b4b4)Tff7b72.Td2a8ffdigestTb4b4b4(Tb4b4b4)
Te6edf3hex_hash Tff7b72= Te6edf3calc_hashTff7b72.Td2a8ffhexTb4b4b4(Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6fffirmware_hash:Ta5d6ff"Tb4b4b4, Te6edf3hex_hashTb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --firmware-hash Ta5d6ff" Tff7b72+ Te6edf3hex_hash Tff7b72+ Ta5d6ff"Ta5d6ff Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72elseTb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffsource_file:Ta5d6ff"Tb4b4b4, Te6edf3source_fileTb4b4b4)
Te6edf3firmware_data Tff7b72= Tffa657openTb4b4b4(Te6edf3source_fileTb4b4b4, Ta5d6ff"Ta5d6ffrbTa5d6ff"Tb4b4b4)Tff7b72.Td2a8ffreadTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffcustom_variantTa5d6ff"Tb4b4b4) Tff7b72in Tb4b4b4(Ta5d6ff"Ta5d6ffheltec_tracker_v2Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffheltec_tracker_v2_localTa5d6ff"Tb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3calc_hash Tff7b72= Te6edf3esp_image_sha256Tb4b4b4(Te6edf3firmware_dataTb4b4b4)
Tff7b72except Tf85149ValueError Tff7b72as Te6edf3errorTb4b4b4:
Tffa657printTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ffUnable to calculate firmware hash: Tffd700{Te6edf3errorTffd700}Ta5d6ff"Tb4b4b4)
Tff7b72return
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6fffirmware_hash:Ta5d6ff"Tb4b4b4, Te6edf3calc_hashTff7b72.Td2a8ffhexTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3device_set_firmware_hashTb4b4b4(Te6edf3calc_hashTb4b4b4, Te6edf3envTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3calc_hash Tff7b72= Te6edf3hashlibTff7b72.Td2a8ffsha256Tb4b4b4(Te6edf3firmware_dataTb4b4b4[T79c0ff0Tb4b4b4:Tff7b72-T79c0ff32Tb4b4b4]Tb4b4b4)Tff7b72.Td2a8ffdigestTb4b4b4(Tb4b4b4)
Te6edf3part_hash Tff7b72= Te6edf3firmware_dataTb4b4b4[Tff7b72-T79c0ff32Tb4b4b4:Tb4b4b4]
Te6edf3hex_hash Tff7b72= Te6edf3calc_hashTff7b72.Td2a8ffhexTb4b4b4(Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6fffirmware_hash:Ta5d6ff"Tb4b4b4, Te6edf3hex_hashTb4b4b4)
Tff7b72if Te6edf3calc_hash Tff7b72== Te6edf3part_hashTb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrnodeconf --firmware-hash Ta5d6ff" Tff7b72+ Te6edf3hex_hash Tff7b72+ Ta5d6ff"Ta5d6ff Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$UPLOAD_PORTTa5d6ff"Tb4b4b4)Tb4b4b4)
Tff7b72elseTb4b4b4:
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffCalculated hash does not match!Ta5d6ff"Tb4b4b4)
Tff7b72def Td2a8fffirmware_packageTb4b4b4(Te6edf3envTb4b4b4)Tb4b4b4:
T8b949e# Firmware package
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff--- Packaging Firmware ---Ta5d6ff"Tb4b4b4)
Te6edf3platform Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffPlatform:Ta5d6ff"Tb4b4b4, Te6edf3platformTb4b4b4)
Te6edf3board Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffboardTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffBoard:Ta5d6ff"Tb4b4b4, Te6edf3boardTb4b4b4)
Te6edf3variant Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffcustom_variantTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffVariant:Ta5d6ff"Tb4b4b4, Te6edf3variantTb4b4b4)
Te6edf3core_dir Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$CORE_DIRTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffcore_dir:Ta5d6ff"Tb4b4b4, Te6edf3core_dirTb4b4b4)
Te6edf3packages_dir Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PACKAGES_DIRTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffpackages_dir:Ta5d6ff"Tb4b4b4, Te6edf3packages_dirTb4b4b4)
Te6edf3workspace_dir Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$WORKSPACE_DIRTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffworkspace_dir:Ta5d6ff"Tb4b4b4, Te6edf3workspace_dirTb4b4b4)
Te6edf3project_dir Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROJECT_DIRTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffproject_dir:Ta5d6ff"Tb4b4b4, Te6edf3project_dirTb4b4b4)
T8b949e#build_dir = env.subst("$BUILD_DIR").get_abspath()
Te6edf3build_dir Tff7b72= Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$BUILD_DIRTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffbuild_dir:Ta5d6ff"Tb4b4b4, Te6edf3build_dirTb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffmkdir -p Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/ReleaseTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffmkdir -p Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/DebugTa5d6ff"Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3platform Tff7b72== Ta5d6ff"Ta5d6ffespressif32Ta5d6ff"Tb4b4b4)Tb4b4b4:
T8b949e#env.Execute("cp " + packages_dir + "/framework-arduinoespressif32/tools/partitions/boot_app0.bin " + build_dir + "/rnode_firmware_" + variant + ".boot_app0")
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffcp ~/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/rnode_firmware_Ta5d6ff" Tff7b72+ Te6edf3variant Tff7b72+ Ta5d6ff"Ta5d6ff.boot_app0Ta5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffcp Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/bootloader.bin Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.bootloaderTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffcp Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/partitions.bin Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.partitionsTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrm -f Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.zipTa5d6ff"Tb4b4b4)
Te6edf3zip_cmd Tff7b72= Ta5d6ff"Ta5d6ffzip --junk-paths Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/rnode_firmware_Ta5d6ff" Tff7b72+ Te6edf3variant Tff7b72+ Ta5d6ff"Ta5d6ff.zip Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/esptool/esptool.py Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/console_image.bin Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.bin Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.boot_app0 Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.bootloader Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.partitions Ta5d6ff"
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Te6edf3zip_cmdTb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffcp Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.elf Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Debug/.Ta5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffcp Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.map Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Debug/.Ta5d6ff"Tb4b4b4)
Te6edf3zip_cmd Tff7b72= Ta5d6ff"Ta5d6ffzip --junk-paths Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/rnode_firmware_Ta5d6ff" Tff7b72+ Te6edf3variant Tff7b72+ Ta5d6ff"Ta5d6ff_debug.zip Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.elf Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.map Ta5d6ff"
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Te6edf3zip_cmdTb4b4b4)
Tff7b72elif Tb4b4b4(Te6edf3platform Tff7b72== Ta5d6ff"Ta5d6ffnordicnrf52Ta5d6ff"Tb4b4b4)Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffcp Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.zip Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/.Ta5d6ff"Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffcp Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff Ta5d6ff" Tff7b72+ Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/rnodedTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffrm -f Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/rnoded-Ta5d6ff" Tff7b72+ Te6edf3get_targetTb4b4b4(Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.zipTa5d6ff"Tb4b4b4)
Te6edf3zip_cmd Tff7b72= Ta5d6ff"Ta5d6ffzip --junk-paths Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/rnoded-Ta5d6ff" Tff7b72+ Te6edf3get_targetTb4b4b4(Tb4b4b4) Tff7b72+ Ta5d6ff"Ta5d6ff.zip Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3build_dir Tff7b72+ Ta5d6ff"Ta5d6ff/rnoded Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/rnoded.example.conf Ta5d6ff"
Te6edf3zip_cmd Tff7b72+Tff7b72= Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/rnoded.example.service Ta5d6ff"
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Te6edf3zip_cmdTb4b4b4)
Te6edf3get_targetTb4b4b4(Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffExecuteTb4b4b4(Ta5d6ff"Ta5d6ffpython3 Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/release_hashes.py > Ta5d6ff" Tff7b72+ Te6edf3project_dir Tff7b72+ Ta5d6ff"Ta5d6ff/Release/release.jsonTa5d6ff"Tb4b4b4)
T8b949e#
T8b949e# Main script
T8b949e#
Te6edf3ImportTb4b4b4(Ta5d6ff"Ta5d6ffenvTa5d6ff"Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffReplaceTb4b4b4(Te6edf3PROGNAMETff7b72=Ta5d6ff"Ta5d6ffrnode_firmware_Tffd700%sTa5d6ff" Tff7b72% Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffcustom_variantTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffPROGNAME:Ta5d6ff"Tb4b4b4, Te6edf3envTff7b72.Td2a8ffsubstTb4b4b4(Ta5d6ff"Ta5d6ff$PROGNAMETa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ff*** Running custom script...Ta5d6ff"Tb4b4b4)
Te6edf3platform Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6ffplatformTa5d6ff"Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffPlatform:Ta5d6ff"Tb4b4b4, Te6edf3platformTb4b4b4)
Te6edf3targets Tff7b72= Te6edf3envTff7b72.Td2a8ffGetProjectOptionTb4b4b4(Ta5d6ff"Ta5d6fftargetsTa5d6ff"Tb4b4b4, Tb4b4b4[Tb4b4b4]Tb4b4b4)
Tffa657printTb4b4b4(Ta5d6ff"Ta5d6ffTargets:Ta5d6ff"Tb4b4b4, Te6edf3targetsTb4b4b4)
T8b949e# Clean
Tff7b72if Te6edf3envTff7b72.Td2a8ffIsCleanTargetTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3pre_cleanTb4b4b4(Te6edf3envTb4b4b4)
Tff7b72if Ta5d6ff"Ta5d6ffcleanallTa5d6ff" Tff7b72in Te6edf3targets Tff7b72or Ta5d6ff"Ta5d6fffullcleanTa5d6ff" Tff7b72in Te6edf3targetsTb4b4b4:
Te6edf3full_cleanTb4b4b4(Te6edf3envTb4b4b4)
T8b949e# Add custom targets
Tff7b72if Tb4b4b4(Te6edf3platform Tff7b72== Ta5d6ff"Ta5d6ffespressif32Ta5d6ff"Tb4b4b4)Tb4b4b4:
Te6edf3envTff7b72.Td2a8ffAddCustomTargetTb4b4b4(
Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffpackageTa5d6ff"Tb4b4b4,
Te6edf3dependenciesTff7b72=Ta5d6ff"Ta5d6ff$BUILD_DIR/$Tffd700{PROGNAME}Ta5d6ff.binTa5d6ff"Tb4b4b4,
Te6edf3actionsTff7b72=Tb4b4b4[
Te6edf3target_package
Tb4b4b4]Tb4b4b4,
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffPackageTa5d6ff"Tb4b4b4,
Te6edf3descriptionTff7b72=Ta5d6ff"Ta5d6ffPackage esp32 firmware for deliveryTa5d6ff"
Tb4b4b4)
Tff7b72elif Tb4b4b4(Te6edf3platform Tff7b72== Ta5d6ff"Ta5d6ffnordicnrf52Ta5d6ff"Tb4b4b4)Tb4b4b4:
T8b949e# remove --specs=nano.specs to allow exceptions to work
Tff7b72if Ta5d6ff'Ta5d6ff--specs=nano.specsTa5d6ff' Tff7b72in Te6edf3envTb4b4b4[Ta5d6ff'Ta5d6ffLINKFLAGSTa5d6ff'Tb4b4b4]Tb4b4b4:
Te6edf3envTb4b4b4[Ta5d6ff'Ta5d6ffLINKFLAGSTa5d6ff'Tb4b4b4]Tff7b72.Td2a8ffremoveTb4b4b4(Ta5d6ff'Ta5d6ff--specs=nano.specsTa5d6ff'Tb4b4b4)
Te6edf3envTff7b72.Td2a8ffAddCustomTargetTb4b4b4(
Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffpackageTa5d6ff"Tb4b4b4,
Te6edf3dependenciesTff7b72=Ta5d6ff"Ta5d6ff$BUILD_DIR/$Tffd700{PROGNAME}Ta5d6ff.zipTa5d6ff"Tb4b4b4,
Te6edf3actionsTff7b72=Tb4b4b4[
Te6edf3target_package
Tb4b4b4]Tb4b4b4,
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffPackageTa5d6ff"Tb4b4b4,
Te6edf3descriptionTff7b72=Ta5d6ff"Ta5d6ffPackage nrf52 firmware for deliveryTa5d6ff"
Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3envTff7b72.Td2a8ffAddCustomTargetTb4b4b4(
Te6edf3nameTff7b72=Ta5d6ff"Ta5d6ffpackageTa5d6ff"Tb4b4b4,
Te6edf3dependenciesTff7b72=Ta5d6ff"Ta5d6ff$BUILD_DIR/$Tffd700{PROGNAME}Ta5d6ff"Tb4b4b4,
Te6edf3actionsTff7b72=Tb4b4b4[
Te6edf3target_package
Tb4b4b4]Tb4b4b4,
Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffPackageTa5d6ff"Tb4b4b4,
Te6edf3descriptionTff7b72=Ta5d6ff"Ta5d6ffPackage native daemon for deliveryTa5d6ff"
Tb4b4b4)
T8b949e# Register actions
Te6edf3envTff7b72.Td2a8ffAddPreActionTb4b4b4(Ta5d6ff"Ta5d6ffuploadTa5d6ff"Tb4b4b4, Te6edf3pre_uploadTb4b4b4)
Te6edf3envTff7b72.Td2a8ffAddPostActionTb4b4b4(Ta5d6ff"Ta5d6ffuploadTa5d6ff"Tb4b4b4, Te6edf3post_uploadTb4b4b4)
Served by rngit 1.5.2 - Generated in 0.05s